home *** CD-ROM | disk | FTP | other *** search
/ Programmer Plus 2007 / Programmer-Plus-2007.iso / Programming / Borland Plateform / Turbo Pascal V7.0 / DOCDEMO.ZIP / NEWBACK.PAS < prev    next >
Encoding:
Pascal/Delphi Source File  |  1992-10-30  |  1.5 KB  |  70 lines

  1. {************************************************}
  2. {                                                }
  3. {   Turbo Vision 2.0 Demo                        }
  4. {   Copyright (c) 1992 by Borland International  }
  5. {                                                }
  6. {************************************************}
  7.  
  8. program NewBack;
  9.  
  10. uses Objects, Drivers, Views, App;
  11.  
  12. type
  13.   PMyBackground = ^TMyBackground;
  14.   TMyBackground = object(TBackground)
  15.     Text: TTitleStr;
  16.     constructor Init(var Bounds: TRect; AText: TTitleStr);
  17.     procedure Draw; virtual;
  18.   end;
  19.  
  20.   PMyDesktop = ^TMyDesktop;
  21.   TMyDesktop = object(TDesktop)
  22.     procedure InitBackground; virtual;
  23.   end;
  24.  
  25.   TMyApplication = object(TApplication)
  26.     procedure InitDesktop; virtual;
  27.   end;
  28.  
  29. constructor TMyBackground.Init(var Bounds: TRect; AText: TTitleStr);
  30. begin
  31.   inherited Init(Bounds, ' ');
  32.   Text := AText;
  33.   while Length(Text) < SizeOf(TTitleStr) - 1 do
  34.     Text := Text + AText;
  35. end;
  36.  
  37. procedure TMyBackground.Draw;
  38. var
  39.   DrawBuffer: TDrawBuffer;
  40. begin
  41.   MoveStr(DrawBuffer, Text, GetColor(1));
  42.   WriteLine(0, 0, Size.X, Size.Y, DrawBuffer);
  43. end;
  44.  
  45. procedure TMyDesktop.InitBackground;
  46. var
  47.   R: TRect;
  48. begin
  49.   GetExtent(R);
  50.   Background := New(PMyBackground, Init(R, 'I Love Pascal! '));
  51. end;
  52.  
  53. procedure TMyApplication.InitDesktop;
  54. var
  55.   R: TRect;
  56. begin
  57.   GetExtent(R);
  58.   R.Grow(0, -1);
  59.   Desktop := New(PMyDesktop, Init(R));
  60. end;
  61.  
  62. var
  63.   MyApp: TMyApplication;
  64.  
  65. begin
  66.   MyApp.Init;
  67.   MyApp.Run;
  68.   MyApp.Done;
  69. end.
  70.